package portal.entidades;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity
@Table(name = "Articulos")
@Inheritance(strategy = InheritanceType.JOINED)
public class Articulo implements Serializable {
	
	private static final long serialVersionUID = -8941108731258485356L;

	public Articulo() {
		super();
	}

	public Articulo(Long idProducto, Integer idDeposito, String categoria,
			String nombre, String descripcion, String marca, double precio,
			String foto, String origen, String disponibilidad, Integer ranking,
			String fecha) {
		super();
		this.idProducto = idProducto;
		this.idDeposito = idDeposito;
		this.categoria = categoria;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.marca = marca;
		this.precio = precio;
		this.foto = foto;
		this.origen = origen;
		this.disponibilidad = disponibilidad;
		this.ranking = ranking;
		this.fecha = fecha;

	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "Id")
	private Long id;
	
	@Column(name = "Id_Producto")
	private Long idProducto;

	@Column(name = "Id_Deposito")
	private Integer idDeposito;

	@Column(name = "Categoria", length = 50)
	private String categoria;

	@Column(name = "Nombre", length = 100)
	private String nombre;

	@Column(name = "Descripcion", length = 500)
	private String descripcion;

	@Column(name = "Marca", length = 100)
	private String marca;

	@Column(name = "Precio")
	private double precio;

	@Column(name = "Foto_url", length = 500)
	private String foto;

	@Column(name = "Origen", length = 100)
	private String origen;

	@Column(name = "Disponibilidad", length = 100)
	private String disponibilidad;

	@Column(name = "Ranking")
	private Integer ranking;

	@Column(name = "Fecha", length = 20)
	private String fecha;

	// Getter && Setters
	public Long getIdProducto() {
		return idProducto;
	}

	public void setIdProducto(Long idProducto) {
		this.idProducto = idProducto;
	}

	public Integer getIdDeposito() {
		return idDeposito;
	}

	public void setIdDeposito(Integer idDeposito) {
		this.idDeposito = idDeposito;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getMarca() {
		return marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public double getPrecio() {
		return precio;
	}

	public void setPrecio(double precio) {
		this.precio = precio;
	}

	public String getFoto() {
		return foto;
	}

	public void setFoto(String foto) {
		this.foto = foto;
	}

	public String getOrigen() {
		return origen;
	}

	public void setOrigen(String origen) {
		this.origen = origen;
	}

	public String getDisponibilidad() {
		return disponibilidad;
	}

	public void setDisponibilidad(String disponibilidad) {
		this.disponibilidad = disponibilidad;
	}

	public Integer getRanking() {
		return ranking;
	}

	public void setRanking(Integer ranking) {
		this.ranking = ranking;
	}

	public String getFecha() {
		return fecha;
	}

	public void setFecha(String fecha) {
		this.fecha = fecha;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

}
